package com.huluobo.a2308douyindemo.demo

import android.content.Context
import android.util.AttributeSet
import android.util.Log
import android.view.MotionEvent
import android.view.View

/**
 *  Created by LC on 2025/10/25.
 *  一个完整的触摸事件 Activity分发->Layout分发->Layout拦截->View分发->View消费->Layout消费->Activity消费
 *  分发,代表当前事件是否向下传递
 *  拦截,代表不让下方view知道该事件,只有Layout才有该方法
 *  消费,代表消耗掉事件,产生触摸效果
 *  苹果(事件) 爷爷(Activity) 父亲(Layout) 儿子(View)
 *  爷爷拿到苹果,给或者不给父亲(分发),父亲拿到苹果选择给或者不给儿子,同时父亲权力大,多了个权利选择让儿子知不知道苹果(拦截),儿子拿到苹果
 *  可以选择吃掉(消费),不吃掉(消费)会还给父亲,父亲不吃掉(消费)会还给爷爷
 */
class MyTouchView(context: Context, attributeSet: AttributeSet) : View(context, attributeSet) {
    override fun dispatchTouchEvent(event: MotionEvent?): Boolean {
        Log.e("TagA", "view分发:${event?.action}")
        return false
    }

    override fun onTouchEvent(event: MotionEvent?): Boolean {
        Log.e("TagA", "view消费:${event?.action}")
        return super.onTouchEvent(event)
    }
}